package io.awen.modules.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.awen.common.utils.PageUtils;
import io.awen.modules.sys.entity.ToolLocalStorage;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @ClassName IToolLocalStorageService
 * @Description 本地存储服务层接口
 * @Author gel
 * @Date 2021-01-22
 **/
public interface IToolLocalStorageService extends IService<ToolLocalStorage> {

    /**
     * 分页
     *
     * @param params 分页参数
     * @return 分页数据
     */
    PageUtils queryPage(Map<String, Object> params);

    /**
     * 上传
     * @param name 文件名称
     * @param multipartFile 文件
     * @return  文件信息
     */
    ToolLocalStorage create(String name, MultipartFile multipartFile);

    /**
     * 编辑
     * @param toolLocalStorage 文件信息
     */
    void update(ToolLocalStorage toolLocalStorage);

    /**
     * 删除
     * @param storageIds 文件id
     */
    void delete(Set<Long> storageIds);

    /**
     * 下载文件
     * @param storageId 文件id
     */
    void download(Long storageId);

    /**
     * 根据文件ids获取文件信息
     * @param ids 文件ids
     * @return 字符串
     */
    String fileList(String ids);

    /**
     * 获取文件组信息
     *
     * @param storageIds 本地存储信息Ids
     * @return 是否成功
     */
    List<ToolLocalStorage> info(Set<Long> storageIds);
    /**
     * 获取文件组信息列表
     *
     * @param ids 本地存储信息Ids
     * @return 是否成功
     */
    List<ToolLocalStorage> getfileList(Set<Long> ids);
}
